package com.qtrue.exer;

/**
 * @Package: com.qtrue.exer
 * @ClassName: ArrayDemo05
 * @Author: xiaoBao
 * @CreateTime: 2022-03-06 13:38
 * @Description: 算法（数组练习）：求数值型数组中元素的最大值、最小值、平均数、总和等;
 *                  定义一个int型的一维数组，包含10个元素，分别赋一些随机整数，
 *                  然后求出所有元素的最大值、最小值、和值、平均值，并输出出来。
 *                  要求：所有随机数都是两位数
 *
 *                  获取[a,b]范围的随机数
 *                  公式：(int) (Math.random() * (b - a + 1)) + a
 */
public class ArrayDemo05 {
    public static void main(String[] args) {
        int arr[] = new int[10];
        int sumValue = 0; // 总和
        int maxValue = arr[0]; // 最大值（这里写成数组元素下标，相当空值，意义是为了应对当数组中全是负数的情况）



        // 为数组所有下边元素进行随机整数的赋值
        for(int i=0;i<arr.length;i++){
            arr[i] = (int) (Math.random() * (99 - 10 + 1)) + 10;
            sumValue += arr[i]; // 求总和

            if(maxValue<arr[i]){ // 求最大值
                maxValue = arr[i];
            }
            System.out.print(arr[i] + " "); // 输出数组中的所有元素
        }
        System.out.println();
        System.out.println("数组中最大值为：" + maxValue);

        int minValue = arr[0]; // 最小值
        for(int i=0;i<arr.length;i++){
            if(minValue>arr[i]){ // 求最小值
                minValue = arr[i];
            }
        }
        System.out.println("数组中最小值为：" + minValue);
        System.out.println("数组中元素的总和为：" + sumValue);

        int avgValue = sumValue / arr.length; // 平均数
        System.out.println("数组中元素的平均数为：" + avgValue);

    }
}
